import java.util.*;

public  class Process {
    String name;          // 进程名
    int arrivalTime;      // 到达时间
    int burstTime;        // 需要运行时间
    int remainingTime;    // 剩余运行时间
    int priority;         // 优先级（优先级调度使用）
    int ioTime;           // I/O时间（用于阻塞）
    int ioLeft;           // 剩余I/O时间
    int state;            // 进程状态：0-就绪，1-运行中，2-阻塞
    int waitingTime;      // 等待时间
    int turnaroundTime;   // 周转时间

    public Process(String name, int arrivalTime, int burstTime, int priority, int ioTime) {
        this.name = name;
        this.arrivalTime = arrivalTime;
        this.burstTime = burstTime;
        this.remainingTime = burstTime;
        this.priority = priority;
        this.ioTime = ioTime;
        this.ioLeft = 0;  // 初始没有I/O操作等待
        this.state = 0;   // 初始状态为就绪
        this.waitingTime = 0;
        this.turnaroundTime = 0;
    }

    @Override
    public String toString() {
        return name + "(到达:" + arrivalTime + ", 运行时间:" + burstTime + ", 优先级:" + priority + ", I/O:" + ioTime + ")";
    }
}
